package org.dtrd.modules.archive.entity.bean;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @author zcli
 */
@ApiModel("实验室检查")
@Data
public class DtrdEntRdLaboratoryDTO implements Serializable {

    @ApiModelProperty(value = "记录id, 更新时需要传入")
    private Integer dataId;

    @ApiModelProperty(value = "患者ID", required = true)
    private Integer patientId;

    @ApiModelProperty(value = "记录时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date recordDate;

    @ApiModelProperty(value = "空腹血糖")
    private Float sugarFasting;

    @ApiModelProperty(value = "空腹血糖检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarFastingDate;

    @ApiModelProperty(value = "随机血糖1")
    private Float sugarRandom1;

    @ApiModelProperty(value = "随机血糖1检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom1Date;

    @ApiModelProperty(value = "随机血糖2")
    private Float sugarRandom2;

    @ApiModelProperty(value = "随机血糖2检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom2Date;

    @ApiModelProperty(value = "随机血糖3")
    private Float sugarRandom3;

    @ApiModelProperty(value = "随机血糖3检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom3Date;

    @ApiModelProperty(value = "随机血糖4")
    private Float sugarRandom4;

    @ApiModelProperty(value = "随机血糖4检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom4Date;

    @ApiModelProperty(value = "随机血糖5")
    private Float sugarRandom5;

    @ApiModelProperty(value = "随机血糖5检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom5Date;

    @ApiModelProperty(value = "随机血糖6")
    private Float sugarRandom6;

    @ApiModelProperty(value = "随机血糖6检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom6Date;

    @ApiModelProperty(value = "随机血糖7")
    private Float sugarRandom7;

    @ApiModelProperty(value = "随机血糖7检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarRandom7Date;

    @ApiModelProperty(value = "餐后2h血糖")
    private Float sugarAfter2;

    @ApiModelProperty(value = "餐后2h血糖检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarAfter2Date;

    @ApiModelProperty(value = "OGTT2h血糖")
    private Float sugarOgtt2;

    @ApiModelProperty(value = "OGTT2h血糖检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sugarOgtt2Date;

    @ApiModelProperty(value = "胰岛beta细胞功能")
    private Float isletBetaCells;

    @ApiModelProperty(value = "胰岛beta细胞功能检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date isletBetaCellsDate;

    @ApiModelProperty(value = "HbA1c")
    private Float hba1c;

    @ApiModelProperty(value = "HbA1c检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date hba1cDate;

    @ApiModelProperty(value = "总胆固醇TC")
    private Float tc;

    @ApiModelProperty(value = "总胆固醇TC检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date tcDate;

    @ApiModelProperty(value = "甘油三酯TG")
    private Float tg;

    @ApiModelProperty(value = "甘油三酯TG检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date tgDate;

    @ApiModelProperty(value = "低密度脂蛋白LDL_C")
    private Float ldlc;

    @ApiModelProperty(value = "低密度脂蛋白LDL_C检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date ldlcDate;

    @ApiModelProperty(value = "高密度脂蛋白HDL_C")
    private Float hdlc;

    @ApiModelProperty(value = "高密度脂蛋白HDL_C检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date hdlcDate;

    @ApiModelProperty(value = "非高密度脂蛋白nonHDL_C")
    private Float nonHdlc;

    @ApiModelProperty(value = "非高密度脂蛋白nonHDL_C检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date nonHdlcDate;

    @ApiModelProperty(value = "是否服用降压药物")
    private Integer isHypotensor;

    @ApiModelProperty(value = "谷丙转氨酶ALT")
    private Float alt;

    @ApiModelProperty(value = "谷丙转氨酶ALT检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date altDate;

    @ApiModelProperty(value = "谷草转氨酶AST")
    private Float ast;

    @ApiModelProperty(value = "谷草转氨酶AST检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date astDate;

    @ApiModelProperty(value = "总胆红素T_BIL")
    private Float tbil;

    @ApiModelProperty(value = "总胆红素T_BIL检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date tbilDate;

    @ApiModelProperty(value = "碱性磷酸酶ALP")
    private Float alp;

    @ApiModelProperty(value = "碱性磷酸酶ALP检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date alpDate;

    @ApiModelProperty(value = "尿常规_尿蛋白")
    private Integer urineProtein;

    @ApiModelProperty(value = "尿常规_尿蛋白检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date urineProteinDate;

    @ApiModelProperty(value = "尿白蛋白UAE")
    private Float uae;

    @ApiModelProperty(value = "尿白蛋白UAE检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date uaeDate;

    @ApiModelProperty(value = "24h尿白蛋白24hUAE")
    private Float uae24;

    @ApiModelProperty(value = "24h尿白蛋白24hUAE检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date uae24Date;

    @ApiModelProperty(value = "尿白蛋白尿肌酐ACR")
    private Float acr;

    @ApiModelProperty(value = "尿白蛋白尿肌酐ACR检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date acrDate;

    @ApiModelProperty(value = "血清肌酐Cr")
    private Float cr;

    @ApiModelProperty(value = "血清肌酐Cr检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date crDate;

    @ApiModelProperty(value = "尿素氮")
    private Float ureaNitrogen;

    @ApiModelProperty(value = "尿素氮检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date ureaNitrogenDate;

    @ApiModelProperty(value = "肾小球滤过率GFR")
    private Float gfr;

    @ApiModelProperty(value = "肾小球滤过率GFR检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date gfrDate;

    @ApiModelProperty(value = "内生肌酐清除率")
    private Float creatinineRate;

    @ApiModelProperty(value = "内生肌酐清除率检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date creatinineRateDate;

    @ApiModelProperty(value = "血尿酸")
    private Float bua;

    @ApiModelProperty(value = "血尿酸的检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date buaDate;

    @ApiModelProperty(value = "血酮体")
    private Float bloodKetone;

    @ApiModelProperty(value = "血酮体检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date bloodKetoneDate;

    @ApiModelProperty(value = "尿酮体")
    private Integer urineKetone;

    @ApiModelProperty(value = "尿酮体检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date urineKetoneDate;

    @ApiModelProperty(value = "血气分析PH")
    private Float ph;

    @ApiModelProperty(value = "血气分析PH检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date phDate;

    @ApiModelProperty(value = "血气分析HCO3")
    private Float hco3;

    @ApiModelProperty(value = "血气分析HCO3检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date hco3Date;

    @ApiModelProperty(value = "电解质Na")
    private Float na;

    @ApiModelProperty(value = "电解质Na检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date naDate;

    @ApiModelProperty(value = "电解质K")
    private Float kei;

    @ApiModelProperty(value = "电解质K检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date keiDate;

    @ApiModelProperty(value = "血浆渗透压")
    private Float opp;

    @ApiModelProperty(value = "血浆渗透压检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date oppDate;

    @ApiModelProperty(value = "溃疡组织培养药敏试验")
    private String ulcerativeDrugSensitivity;

    @ApiModelProperty(value = "溃疡组织培养药敏试验检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date ulcerativeDrugSensitivityDate;

    @ApiModelProperty(value = "实验室检查多图")
    private String laboratoryPhotosUrl;

    @ApiModelProperty(value = "血糖空腹服糖前")
    private Float sugarLimosis;

    @ApiModelProperty(value = "血糖30min")
    private Float sugar30min;

    @ApiModelProperty(value = "血糖1h")
    private Float sugar1h;

    @ApiModelProperty(value = "血糖2h")
    private Float sugar2h;

    @ApiModelProperty(value = "血糖3h")
    private Float sugar3h;

    @ApiModelProperty(value = "胰岛素空腹")
    private Float isletLimosis;

    @ApiModelProperty(value = "胰岛素30min")
    private Float islet30min;

    @ApiModelProperty(value = "胰岛素1h")
    private Float islet1h;

    @ApiModelProperty(value = "胰岛素2h")
    private Float islet2h;

    @ApiModelProperty(value = "胰岛素3h")
    private Float islet3h;

    @ApiModelProperty(value = "C肽空腹")
    private Float peptideLimosis;

    @ApiModelProperty(value = "C肽30min")
    private Float peptide30min;

    @ApiModelProperty(value = "C肽1h")
    private Float peptide1h;

    @ApiModelProperty(value = "C肽2h")
    private Float peptide2h;

    @ApiModelProperty(value = "C肽3h")
    private Float peptide3h;

    @ApiModelProperty(value = "OGTT试验胰岛功能检查日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date ogttPeptideDate;

    @ApiModelProperty(value = "报告名称")
    private String reportName;

    @ApiModelProperty(value = "报告结论")
    private String reportConclusion;

    @ApiModelProperty(value = "照片以 竖线 | 拼接")
    private String photo;

    /**
     * 血糖检查是否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("sugar_is_finished")
    private Integer sugarIsFinished;

    /**
     * OGTT+胰岛功能检查是否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("ogtt_is_finished")
    private Integer ogttIsFinished;

    /**
     * 血脂检查是否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("lipids_is_finished")
    private Integer lipidsIsFinished;

    /**
     * 肝功能检查否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("liver_is_finished")
    private Integer liverIsFinished;

    /**
     * 肾功能检查是否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("kidney_is_finished")
    private Integer kidneyIsFinished;

    /**
     * 酮体检查是否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("ketone_is_finished")
    private Integer ketoneIsFinished;

    /**
     * 血气分析及其他是否确认完成, 1-是, 0-否
     */
    @ApiModelProperty("gas_is_finished")
    private Integer gasIsFinished;

    /**
     * 血糖报告
     */
    private String sugarReportName;

    /**
     * 血糖报告结论
     */
    private String sugarReportConclusion;

    /**
     * 血糖报告图片
     */
    private String sugarReportPhoto;

    /**
     * ogtt报告名称
     */
    private String ogttReportName;

    /**
     * ogtt报告结论
     */
    private String ogttReportConclusion;

    /**
     * ogtt报告图片
     */
    private String ogttReportPhoto;

    /**
     * 血脂报告名称
     */
    private String lipidReportName;

    /**
     * 血脂报告结论
     */
    private String lipidReportConclusion;

    /**
     * 血脂报告图片
     */
    private String lipidReportPhoto;

    /**
     * 肝功能报告名称
     */
    private String liverReportName;

    /**
     * 肝功能报告结论
     */
    private String liverReportConclusion;

    /**
     * 肝功能图片
     */
    private String liverReportPhoto;

    /**
     * 肾功能报告
     */
    private String kidneyReportName;

    /**
     * 肾功能结论
     */
    private String kidneyReportConclusion;

    /**
     * 肾功能图片
     */
    private String kidneyReportPhoto;

    /**
     * 酮体报告名称
     */
    private String ketoneReportName;

    /**
     * 酮体报告结论
     */
    private String ketoneReportConclusion;

    /**
     * 酮体报告图片
     */
    private String ketoneReportPhoto;

    /**
     * 血气分析报告名称
     */
    private String bloodReportName;

    /**
     * 血气分析报告结论
     */
    private String bloodReportConclusion;

    /**
     * 血气分析报告图片
     */
    private String bloodReportPhoto;
}